The present invention relates to a computer system in which a plurality of OSes run on one computer, and a startup method of the computer.
In recent years, attention has been given to the technique of starting two or more OSes (operating systems) on one physical computer, in order to make efficient use of hardware resources on the physical computer. Refer to, for example, Japanese Patent Application Laid-open No. Hei 11-149385 and WO 2009/113394.
Japanese Patent Application Laid-open No. Hei 11-149385 discloses a “multi-operating system computer that alternately operates, as an operating OS, a first OS (operating system) for executing a plurality of tasks, to which priorities are assigned, in order of the priorities, and a second OS being different from the first OS, and that is included with an OS switch unit for switching the operating OS from the first OS to the second OS when the first OS is being operated as the operating OS and when a predetermined task, to which a predetermined priority is assigned, among the plurality of tasks, is executed as a switching trigger task for identifying a switching trigger of the operating OS”.
WO 2009/113394 discloses that “A multi-OS boot device which boots the at least two operating systems (operating system, hereinafter referred to as OS) of a first OS and a second OS; comprising (1) a primary storage unit having a memory area with respect to which a memory space is defined; (2) a secondary storage unit for storing a second boot loader and the second OS; (3) an OS execution unit for causing a first boot loader to perform loading the second boot loader and the second OS from the secondary storage unit into the memory area of the primary storage unit, which is defined as a first memory space managed by the first OS with respect to the primary storage device by a first context, wherein the loading is performed by running the first boot loader, which is to run under the first OS that operates in the first context being a context indicating control information for a CPU (Central Processing Unit) and being a context for the first OS, under the first OS operating in the first context; and (4) a loader execution unit for causing the second boot loader to generate a context for the second boot loader, which defines a third memory space with respect to the primary storage unit, wherein the third memory space includes a memory area defined as a second memory space managed by the second OS and a memory area where the second boot loader and the second OS have been loaded, and to perform switching from the first context to the context generated for the second boot loader, by executing the second boot loader, which has been loaded into the memory area defined as the first memory space, under the first OS operating in the first context, for causing the second boot loader to load the second OS, which has been loaded into the memory area of the primary storage unit by the first boot loader, into the memory area of the primary storage unit defined as the second memory space included in the third memory space, and to generate a context for the second OS, by executing the second boot loader in the context for the second boot loader, and for causing the second boot loader to perform switching from the context for the second loader to the context generated for the second OS, and to boot the second OS in the context for the second OS.